Optically readable codes, such as barcodes, provide a versatile means of encoding machine readable information. The codes may be marked on physical objects by various printing or object marking techniques. They may also be displayed on various types of display devices. In either case, the rendered image of the code on an object or display is scanned optically to recover the digital data encoded within the code.
Despite their versatility, conventional barcodes have limitations. One is that a conventional barcode does not easily integrate with other visual information. The code must occupy a distinct spatial area of a rendered image. As such, it detracts from the aesthetic and visual information content of the host image. Further, it is susceptible to copying, manipulation, and swapping.
For some applications, the digital payload of the barcode may be encrypted to restrict access to it. This can mitigate the impact of manipulation of it, yet does not address the inability of the code to integrate with other host signal information, without materially impacting its aesthetic value or altering its perceptual information content. Moreover, conventional barcodes are not applicable to various other forms of host media, most notably audio signals.
The field of steganography pertains to the study of hiding information in host signals, including host imagery or audio signals. Research in this field led to the development of digital watermarks, which convey machine readable, auxiliary data (the “payload”) in host images. A form of digital watermark, sometimes referred to as a robust digital watermark, shares some characteristics of barcodes in that it can be applied to objects or displayed and then scanned to recover the payload reliably. It also enables the payload to be woven within other imagery, without detracting from its aesthetic or other visual information content. Further, it has the added versatility of being adaptable to other non-optical signals, including audio signals.
In our prior work, we have detailed methods for robust encoding of auxiliary data in objects and audio. See, e.g., U.S. Pat. Nos. 6,102,403 and 6,614,914, US Application Publications 20160217547, and US Publication 20100150434 (with encoding applied to color channels of image content rendered for printing or display); encoding and decoding in video, U.S. Pat. Nos. 7,567,721, 7,139,408, 7,330,562; and with encoding applied in audio channels and associated decoding from ambient audio described in U.S. Pat. No. 7,330,562, US Publication 20140142958 and U.S. application Ser. No. 15/213,335, filed Jul. 18, 2016, entitled HUMAN AUDITORY SYSTEM MODELING WITH MASKING ENERGY ADAPTATION (Now U.S. Pat. No. 10,043,527), Ser. No. 15/145,784, entitled DIGITAL WATERMARK ENCODING AND DECODING WITH LOCALIZATION AND PAYLOAD REPLACEMENT, filed May 3, 2016 Now U.S. Pat. No. 10,147,433), and U.S. application Ser. No. 15/192,925, filed Jun. 24, 2016, entitled METHODS AND SYSTEM FOR CUE DETECTION FROM AUDIO INPUT, LOW-POWER DATA PROCESSING AND RELATED ARRANGEMENTS (Now U.S. Pat. No. 9,891,883, counterpart international application published as WO2015100430), which are incorporated by reference.
This disclosure details methods and associated equipment to robustly encode transaction parameters in rendered displays, objects and audio. It also details corresponding decoding methods and equipment to recover these parameters. Further, it details authentication processing and equipment to validate a transaction, employing a trust network protocol for maintaining a trusted transaction history. Various alternative forms of this technology are described.
One technical feature of this disclosure is a device comprising a memory configured to store an image signal and transaction parameters. The transaction parameters comprise a key and an address of a transaction in a trust network. The device comprises a processor, in communication with the memory. The processor is configured with instructions to extract features from the image signal and form a digital payload comprising the features, the key and the address. These image features bind the digital payload to the image signal in which it is embedded. To embed the payload, the processor is configured with instructions to modulate a carrier signal with the digital payload to produce a modulated carrier signal, map elements of the modulated carrier signal to locations within the image signal, and modify the image signal at the locations according to corresponding elements of the modulated carrier signal to form an encoded image signal in which the features, key and address are encoded.
Another technical feature of this disclosure is a device comprising an image sensor, a memory configured to store an image captured from the image sensor, and a processor, in communication with the memory. This device is a compatible decoder for the above-summarized digital payload embedded in a content object. The processor is configured with instructions to determine a geometric transformation of the image, extract features from the image using the geometric transformation to locate the features, and decode an auxiliary data signal encoded within the image using the geometric transformation to locate bit cells in which elements of the auxiliary data signal are encoded. The auxiliary data signal comprises transaction parameters and an encoded hash of the features. The transaction parameters comprise a transaction key and address associated with a user. The processor is further configured with instructions to compute a first hash of the features, compare the first hash of the features with the encoded hash, form a transaction with the transaction key and address, and submit the transaction to a distributed trust network to complete the transaction.
One aspect of the invention is a system comprising a plurality of computing nodes. These computer nodes are in communication via a network via a network communication protocol, such as TCP. A first computing node comprises memory and a processor, the processor configured with instructions to:
obtain a request of a first party to process a transaction of a first content item, the first content item comprising a content signal stored in the memory, the transaction comprising distribution of the first content item;
obtain a transaction parameter for the transaction and record the transaction parameter in a distributed blockchain registry, the transaction parameter comprising an address of the transaction;
extract features from the content signal in the first content item;
form a digital payload comprising the address;
modulate a carrier signal with the digital payload to produce a modulated carrier signal;
map elements of the modulated carrier signal to locations within the content signal; and
modify the content signal according to the features and corresponding elements of the modulated carrier signal to form an encoded content signal in which the address is encoded; and
digitally sign the transaction into a signed message and provide the signed message and address for the transaction to a distributed blockchain registry in the plurality of computing nodes to register the transaction for the first content item in the blockchain registry.
These are but a few of the novel technology configurations described in this document. Several alternative embodiments and variants that apply to different types of objects and network transactions are described below.